package com.change.copy.dto;

import com.google.common.collect.Lists;
import lombok.Data;
import lombok.experimental.Accessors;

import java.util.List;

/**
 * 科大星火的api 入参
 */
@Data
@Accessors(chain = true)
public class SparkApiDto {
    /**
     * 模型为lite 因为他免费
     */
    private String model = "lite";

    /**
     * 输入数组
     */
    private List<Messages> messages;
    /**
     * 是否流式
     */
    private Boolean stream = false;

    public SparkApiDto() {

    }

    public SparkApiDto(Messages messages) {
        this.messages = Lists.newArrayList(messages);
    }

    @Data
    public static class Messages {
        /**
         * 角色，user表示用户，assistant表示大模型，system表示命令，tool代表function call执行结果
         */
        private String role = "user";
        /**
         * 输入的文本
         */
        private String content;
    }

    public static SparkApiDto getDto(String content){
        SparkApiDto.Messages messages = new SparkApiDto.Messages();
        messages.setContent(content);
        return new SparkApiDto(messages);
    }

}
